#ifndef __INFORMACION_RESTRICCIONES_DETERMINISTICAS_H__
#define __INFORMACION_RESTRICCIONES_DETERMINISTICAS_H__

#include "InformacionMateria.h"
#include "DisponibilidadHorariaDiaria.h"

using namespace std;

namespace modelo {

	class InformacionRestriccionesDeterministicas
	{
	public:
		InformacionRestriccionesDeterministicas(void);
		~InformacionRestriccionesDeterministicas(void);

		//Accesibilidad
		int GetMateriasMaximasPorCuatrimestre() {return materiasMaximasPorCuatrimestre;}
		list<InformacionMateria*> GetMateriasOptativasACursar() {return materiasOptativasACursar;}
		list<InformacionMateria*> GetMateriasOptativasANoCursar() {return materiasOptativasANoCursar;}
		list<DisponibilidadHorariaDiaria*> GetDisponibilidadHoraria() {return disponibilidadHoraria;}

		void SetMateriasMaximasPorCuatrimestre(int otraCantidad) {materiasMaximasPorCuatrimestre = otraCantidad;}
		void SetMateriasOptativasACursar(list<InformacionMateria*> otrasMaterias) {materiasOptativasACursar = otrasMaterias;}
		void SetMateriasOptativasANoCursar(list<InformacionMateria*> otrasMaterias) {materiasOptativasANoCursar = otrasMaterias;}
		void SetDisponibilidadHoraria(list<DisponibilidadHorariaDiaria*> otraDisponibilidad) {disponibilidadHoraria = otraDisponibilidad;}

	private:
		int materiasMaximasPorCuatrimestre;
		list<InformacionMateria*> materiasOptativasACursar;
		list<InformacionMateria*> materiasOptativasANoCursar;
		list<DisponibilidadHorariaDiaria*> disponibilidadHoraria;
	};
}
#endif